package cn.supermarket.mapper;


import cn.supermarket.pojo.dto.VipInfoDTO;
import cn.supermarket.pojo.entity.Vip;
import cn.supermarket.pojo.vo.VipSimpleVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

@Repository
public interface VipMapper {
    /**
     * 根据手机号查询会员的简单信息
     * @param phone 会员手机号
     * @return 会员简单信息
     */
    VipSimpleVO getVipSimpleByPhone(String phone);

    /**
     * 添加会员
     * @param vip 会员信息对象
     * @return 受影响的行数
     */
    int addVip(Vip vip);


    /**
     * 根据手机号修改储值卡余额
     * @param phone 手机号
     * @param storedValueCardAmount 金额
     * @return 受影响的行数
     */
    int updateAmount(@Param("phone")String phone , @Param("storedValueCardAmount")BigDecimal storedValueCardAmount);

    /**
     * 查询所有会员信息
     * @return 所有会员简单信息的集合
     */
    List<VipSimpleVO> getAllVips();

    /**
     * 修改会员信息
     * @param vipInfoDTO 会员信息
     */
    void updateVipInfo(VipInfoDTO vipInfoDTO);

    /**
     * 通过手机号注销会员
     * @param phone 会员手机号
     */
    int deleteVip(String phone);
}
